МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Кафедра ЕОМ
ЗВІТ
з лабораторної роботи №2
з дисципліни: «Цифрова обробка сигналів»
на тему: «Дискретизація і квантування сигналів»
Мета роботи: дослідити процес дискретизації і квантування сигналів, оцінити похибку оцифровування.
Завдання:
при чому, згідно варіанту:
№
А1
А2
А3
А4
19
0,13
27
-2
19
1
2
1/7
9
0
Тобто, аналітичний запис сигналу такий:
.
Аналітичний розрахунок кроку дискретизації та періоду сигналу
Згідно теореми Котельникова: , де : - гранична частота. Оскільки, заданий сигнал містить різні частоти, то граничною буде найбільша з них: . Отже:
Підставивши отримане значення у теорему Котельникова, маємо крок дискретизації:
Для знаходження періоду заданого сигналу слід знайти найменше спільне кратне між періодами всіх окремих складових сигналу. Таких частин є чотири (чотири доданки присутні в аналітичному представленні сигналу):
; ;
;
Як відомо, амплітуда та фаза не впливають на період сигналу, тому до уваги слід брати лише частоту. Отже, складові заданого сигналу мають такі періоди: ; ; ; . Очевидно, що найменше спільне кратне становить (воно ділиться без остачі на решту періодів). Таким чином період заданого складеного сигналу становить:
Текст програми
clear all
//очистка пам’яті
clc
//закриття всіх графічних вікон
close()
//очистка екрану
A1=0,13; A2=27; A3=-2; A4=19;
//амплітуда
w1=1; w2=2; w3=1/7; w4=9;
//частота
phi1=%pi/5; phi2=0; phi3=%pi/2; phi4=%pi/3;
//фаза
M=2^5;
//кількість рівнів квантування
koef=2^0;
//коефіцієнт кількості відліків
w_gr=max([w1,w2,w4,w3]);
//гранична кругова частота
f_gr=w_gr/(2*%pi);
//гранична лінійна частота
dt=1/(2*f_gr*koef);
//дискрет часу за теоремою //Котельникова
T=14*%pi;
//період з аналітичних розрахунків
t=0:dt:T-dt;
//вектор часу для одного періоду
x=A1*cos(w1*t+phi1)-A2*sin(w2*t+phi2)+A3*sin(w3*t+phi3)-A4*cos(w4*t+phi4);
//вектор дискретного сигналу
maxA=max(abs(x))
//максимальне значення амплітуди
minA=-maxA
//мінімальне значення амплітуди
N=length(x);
//довжина вектору сигналу
k=(maxA-minA)/(M-1);
//квант амплітуди
K=minA:k:maxA;
//вектор рівнів квантування
y=floor(x/k)*k;
if modulo(M,2)==0
y=y+k/2;
end;
//округлення дискретного значення //сигналу до найближчого рівня //квантування, а отже, отримання //квантованого, тобто цифрового //сигналу
KK=ones(N,1)*K; plot(t,KK,'k--')
ff=gca()
ff.auto_ticks=["on","on","on"]
xlabel('Час,с'); ylabel('Рівні квантування')
//відображення рівнів квантування
plot2d(t,x,3)
//графік дискретного сигналу
plot2d2(t,y,5)
//графік квантованого сигналу
a=max(abs(y-x))
disp(a,"a=")
//абсолютна похибка
b=(1/N)*(sum(y)-sum(x))
disp(b,"b=")
//середня похибка
d=(1/N)*sum((y-x).^2)
disp(d,"d=")
//дисперсія
Оцінка похибки оцифровування
Koef
M
A
B
D
1
8
5.306998
- 2.115*10-15
9.5563364
32
1.2212212
- 3.130*10-15
0.5099397
256
0.1480894
- 2.453*10-15
0.0077457
2
8
6.3897337
- 3.754
13.500203
32
1.4439402
0.0461124
0.7738661
256
0.1758867
0.0028029
0.0102776
4
8
6.7305864
0.0268367
14.521762
32
1.5210266
0.0969586
0.7917321
256
0.1853390
0.0007367
0.0115514
8
8
6.812571
- 0.1082102
15.414744
32
1.5389912
0.0824666
0.7921512
256
0.1871377
- 0.0051983
0.0112629
Графіки дискретного та квантованого сигналу для таких параметрів :
М=32; koef=8
/
Висновок: при виконанні лабораторної роботи було проведено оцифровування сигналу, заданого аналітичним виразом : . Для цього визначено крок дискретизації та період досліджуваного сигналу. Вони становлять, відповідно : ;
Здійснено оцінку точності оцифровування за критеріями абсолютної, середньої похибки та дисперсії, в залежності від частоти ...